#pragma once

#pragma unmanaged

#include <BWSAL\MetaUnitVariable.h>

#pragma managed

#include "Interfaces\IMetaUnit.h"

namespace BroodWar
{
	namespace Addon
	{
		ref class Task;

		public ref class MetaUnitVariable : public IMetaUnit
		{
		internal:
			bool dispose;
			BWSAL::MetaUnitVariable* instance;

			MetaUnitVariable(BWSAL::MetaUnitVariable* unit);
			~MetaUnitVariable();
			!MetaUnitVariable();
		public:
			MetaUnitVariable();

			virtual property BuildUnit^ BuilderUnit { BuildUnit^ get(); }
			virtual property Build^ Type { Build^ get(); }
			void Assign(IMetaUnit^ metaUnit);
		};

		MetaUnitVariable^ ConvertMetaUnitVariable(BWSAL::MetaUnitVariable* unit);
		BWSAL::MetaUnitVariable* ConvertMetaUnitVariable(MetaUnitVariable^ unit);
	}
}
